package zpx.iservice;


import java.io.File;
import java.util.List;
import java.util.Map;

import zpx.model.ComAttachment;
import zpx.model.User;



/**
 * �����߼������ӿ�
 */
public interface IComAttachmentService  {
    
    /**
     * ��ݶ�Ӧ�����¼�����ʶ������������
     * 
     * @param recordId ��Ӧ�����¼�����ʶ
     * @return �����б�
     */
    public List<ComAttachment> getAttachments(String recordId);
    
    
    /**
     * ���������ѯ
     * @param searchMap
     * @return
     */
    public List<ComAttachment> getAttachmentsLst(Map<String, String> searchMap);
    
    /**
     * ����������ȡ
     * 
     * @param attaId �����ļ���ʶ
     * @return ����
     */
    public ComAttachment getAttachment(String attaId);
    
    /**
     * ����������������
     * 
     * @param attachment ��������
     * @return ��������
     */
    public ComAttachment saveOrUpdateAttachment(ComAttachment attachment);
    
    /**
     * �ϴ���������
     * 
     * @param uploadFile ��������ʱ�ļ�
     * @param fileName �ļ����(����չ��)
     * @param recordId ��Ӧ�����¼�����ʶ
     * 
     * @return ��������
     */
    public ComAttachment moveAttachment(File uploadFile, String fileName, String recordId);
    
    /**
     * ���� ����ļ���ɾ��
     * 
     * @param attachment ��Ҫ��ɾ��ĸ�������
     * 
     * @return ����
     */
    public ComAttachment todeleteAttachmentFile(ComAttachment attachment);
    
    /**
     * ɾ���
     * 
     * @param attaId �����ļ���ʶ
     * @return ��������
     */
    public void deleteAttachment(String attaId);
    
    /**
     * ���渽��(������)
     * 
     * @param fileNames �������jQuery�ϴ��Զ����(��ʽ:2298sd-2ds-d.png,iu98-23d2-22.txt)
     * @param filePaths ����·��(��ʽ:/��Ŀ��/uploads//xxxx.png,/��Ŀ��/uploads//xxx.txt)
     * @param recordId ��Ӧ�����¼�����ʶ
     */
    public void saveComAttachment(String fileNames, String filePaths, String recordId,User loginUser);
    
    /**
     * ɾ���(������)
     * 
     * @param attaIds ������ʶ(��ʽ:��","���)
     */
    public void deleteComAttachments(String attaIds,User loginUser);
    
    /**
     * 
     * @param attaId �����ļ���ʶ
     * @param group ���
     * @return �����б�
     */
    public List<ComAttachment> getComAttachmentList(String attaId, String group);
    
    /**
     * ���渽��(���������)
     * 
     * @param fileNames �������jQuery�ϴ��Զ����(��ʽ:2298sd-2ds-d.png,iu98-23d2-22.txt)
     * @param filePaths ����·��(��ʽ:/��Ŀ��/uploads//xxxx.png,/��Ŀ��/uploads//xxx.txt)
     * @param recordId ��Ӧ�����¼�����ʶ
     * @param group �����ļ���(��Щ�����ļ���ͬʱ�ϴ�,�������һ�ű��д��������ط��ϴ�����)
     */
    public void saveComAttachmentByGroup(String fileNames, String filePaths, String recordId, String group);
    
    /**
     * ���渽��(��������)
     * 
     * @param fileNames �������jQuery�ϴ��Զ����(��ʽ:2298sd-2ds-d.png,iu98-23d2-22.txt)
     * @param filePaths ����·��(��ʽ:/��Ŀ��/uploads//xxxx.png,/��Ŀ��/uploads//xxx.txt)
     * @param recordId ��Ӧ�����¼�����ʶ
     */
    public void createComAttachment(String fileNames, String filePaths, String recordId);
    
    /**
     * ɾ���(��������)
     * 
     * @param delComAttIds ������ʶ(��ʽ:��","���)
     */
    public void removeComAttachments(String delComAttIds,User loginUser);
}

